home *** CD-ROM | disk | FTP | other *** search
/ Chip: 2005 Utilities / CHIP Utilities 2005.7z / CHIP Utilities 2005.iso / images / arachne.igz / arachne.img / LEVEL0 / UTILZ.CAB / bin / DRD.BAT < prev    next >
DOS Batch File  |  2005-01-16  |  3KB  |  119 lines

  1. @if "%debug%"=="" echo off
  2. if "%1"==":" if not "%2"=="" goto %2
  3. for %%f in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do if "%1"=="%%f:" goto _begin
  4. for %%f in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if "%1"=="%%f:" goto _begin
  5. if not "%1"=="" if not "%1"=="*" goto _end
  6. for %%f in (A C D E F G H I J K L M N O P Q R S T U V W X Y Z) do call %0 : _test %%f: %1
  7. goto _end
  8. :_test
  9. shift
  10. shift
  11. :_begin
  12. goto _dready
  13. if not "%os%"=="fd" goto _dready
  14. if "%fdk%"=="" call fdk.bat
  15. varset _drd=30-%fdk% >%tmp%\nul
  16. set _drd=
  17. if errorlevel 1 goto _dready
  18. el! 0
  19. if not exist %1\nul el! 255
  20. if errorlevel 255 goto _255
  21. dir %1 | tfind "volume" "in" "drive" "is" >%tmp%\nul
  22. if errorlevel 1 el! 2
  23. if errorlevel 2 goto _2
  24. echo DRD: (FreeDos workaround) Please ignore any warnings and/or press 'A' or 'F'
  25. echo please delete this file >%1\_!@0@!_.$0$
  26. if exist %1\_!@0@!_.$0$ goto _writable
  27. goto _1
  28. :_writable
  29. if exist %1\_!@0@!_.$0$ del %1\_!@0@!_.$0$ >%tmp%\nul
  30. goto _memdsk
  31.  
  32. :_dready
  33. dready %1
  34. set _drd=%errrorlevel%
  35. if "%_drd%"=="" goto _n1level
  36. if not "%2"=="/!" if not "%2"=="-!" if not "%3"=="/!" if not "%3"=="-!" goto _n1level
  37. echo DRD: '%1' %_drd% (dready)
  38. :_n1level
  39. if errorlevel 255 goto _255
  40. if errorlevel 2 goto _2
  41. if "%2"=="/@" goto _01
  42. if "%2"=="-@" goto _01
  43. if "%3"=="/@" goto _01
  44. if "%3"=="-@" goto _01
  45. dready %1 /W
  46. set _drd=%errrorlevel%
  47. if "%_drd%"=="" goto _n2level
  48. if not "%2"=="/!" if not "%2"=="-!" goto _n2level
  49. echo DRD: '%1' %_drd% (dready /w)
  50. :_n2level
  51. if errorlevel 2 goto _1
  52. if errorlevel 1 goto _1
  53. goto _memdsk
  54.  
  55. :_memdsk
  56. if not exist %ramdrv%\bin\ifmemdsk.com goto _0
  57. for %%f in (a b c A B C) do if "%1"=="%%f:" goto _mmdsk
  58. goto _0
  59. :_mmdsk
  60. %ramdrv%\bin\ifmemdsk.com >%tmp%\nul
  61. if errorlevel 3 if "%1"=="C:" goto _00
  62. if errorlevel 3 if "%1"=="c:" goto _00
  63. if errorlevel 3 goto _0
  64. if errorlevel 2 if "%1"=="B:" goto _00
  65. if errorlevel 2 if "%1"=="b:" goto _00
  66. if errorlevel 2 goto _0
  67. if errorlevel 1 if "%1"=="A:" goto _00
  68. if errorlevel 1 if "%1"=="a:" goto _00
  69. goto _0
  70.  
  71. :_0
  72. el! 0
  73. if "%2"=="/$" goto _end
  74. if "%2"=="-$" goto _end
  75. if "%3"=="/$" goto _end
  76. if "%3"=="-$" goto _end
  77. echo DRD: '%1' writable
  78. goto _end
  79. :_00
  80. el! 0
  81. if "%2"=="/$" goto _end
  82. if "%2"=="-$" goto _end
  83. if "%3"=="/$" goto _end
  84. if "%3"=="-$" goto _end
  85. echo DRD: '%1' writable (memdisk fake writable)
  86. goto _end
  87. :_01
  88. if "%2"=="/$" goto _end
  89. if "%2"=="-$" goto _end
  90. if "%3"=="/$" goto _end
  91. if "%3"=="-$" goto _end
  92. echo DRD: '%1' accessible
  93. goto _end
  94. :_1
  95. el! 1
  96. if "%2"=="/$" goto _end
  97. if "%2"=="-$" goto _end
  98. if "%3"=="/$" goto _end
  99. if "%3"=="-$" goto _end
  100. echo DRD: '%1' readonly
  101. goto _end
  102. :_2
  103. if "%2"=="/$" goto _end
  104. if "%2"=="-$" goto _end
  105. if "%3"=="/$" goto _end
  106. if "%3"=="-$" goto _end
  107. echo DRD: '%1' inaccessible
  108. goto _end
  109. :_255
  110. if "%2"=="*" goto _end
  111. if "%2"=="/$" goto _end
  112. if "%2"=="-$" goto _end
  113. if "%3"=="/$" goto _end
  114. if "%3"=="-$" goto _end
  115. echo DRD: '%1' invalid
  116. goto _end
  117. :_end
  118. set _drd=
  119.